/*
 * Created on 26/05/2010
 *
 * TODO To change the template for this generated file go to
 * Window - Preferences - Java - Code Style - Code Templates
 */
package model.cargarDatos;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import com.stefanini.pe.bbva.mbl.carga.in.to.TemporalLog;
import com.stefanini.pe.bbva.mbl.in.bo.iface.VisorCargaTablaBO;
import com.stefanini.pe.bbva.mbl.in.listeners.SpringInit;
import com.stefanini.pe.bbva.mbl.to.TablaTemporalTO;
import com.stefanini.pe.framework.common.HelperDate;

/**
 * @author jlezama
 *
 * TODO To change the template for this generated type comment go to
 * Window - Preferences - Java - Code Style - Code Templates
 */
public class VisorCargaLineasModel {

	private String strDdlTablaSeleccionada =""; 
	private String lblError_Text="";
	private ArrayList listaCargaFamProdLog = new ArrayList();
	private ArrayList listaCargaFamProdDetLog = new ArrayList();
	private ArrayList listarTablas = new ArrayList();
	private int m_intCargaFamProdLog_first=0;
	private boolean mostrar=false;
	private boolean egv_DatosFamProdLog_visible=false;
	Date fechaInicial = HelperDate.getFechaActual();
	Date fechaFinal = HelperDate.getFechaActual();
	String estado="";
	String strIdFamiliaSelected = "";
	String strIdProductoSelected = "";
	BigDecimal idFamilia = null;
	BigDecimal idProducto = null;
	private List cargaFamProdDetLog = null;
	private ArrayList listaFamProdColumnLog = new ArrayList();
	private ArrayList listarFilasDinamicas = new ArrayList();
	int rowNum = 0;     
	int colNum = 0;
	int rowCol = 0;
	BigDecimal filaGrilla= new BigDecimal(-1);
	private String rowStyle;
	VisorCargaTablaBO visorCargaTablaService = null;

	
	public VisorCargaLineasModel(){
		visorCargaTablaService =(VisorCargaTablaBO)SpringInit.getApplicationContext().getBean("visorCargaTablaService");
		
		this.m_intCargaFamProdLog_first=0;
		this.fechaInicial=HelperDate.getFechaActual();
		this.fechaFinal=HelperDate.getFechaActual();
		this.mostrar=false;
		this.estado="";
		this.lblError_Text="";
		this.egv_DatosFamProdLog_visible=false;
		this.strIdFamiliaSelected = "";
		this.strIdProductoSelected = "";
		this.strDdlTablaSeleccionada ="";
	}
	
	public String getRowStyle(){
		String cadena = "";
		boolean flag=false;
		for(int i=0;i<this.getListaCargaFamProdLog().size();i++){
			TemporalLog tmplog= (TemporalLog)getListaCargaFamProdLog().get(i);
			System.out.println(" #:"+tmplog.getIdTemporal());
			if (new BigDecimal(tmplog.getIdTemporal()).equals(filaGrilla)){
				cadena = cadena + "totalFoo,";
				flag=true;
			}
			
			if (!flag){
				if(i%2==0){
					cadena = cadena+"FilaGrilla,";
				}else{
					cadena = cadena+"FilaAlternaGrilla,";
				}
			}else{
				flag=false;
			}
		}		
		return cadena;
	}
	
	/*	Inicio: lpolanco	-	24/05/2012	*/
	public String getRowStyleList(){
		String cadena = "";
		boolean flag=false;
		for(int i=0;i<this.getListaCargaFamProdLog().size();i++){
			TablaTemporalTO tmplog= (TablaTemporalTO)getListaCargaFamProdLog().get(i);
			System.out.println(" #:"+tmplog.getIdTemporal());
			if (tmplog.getIdTemporal().equals(filaGrilla)){
				cadena = cadena + "totalFoo,";
				flag=true;
			}
			
			if (!flag){
				if(i%2==0){
					cadena = cadena+"FilaGrilla,";
				}else{
					cadena = cadena+"FilaAlternaGrilla,";
				}
			}else{
				flag=false;
			}
		}		
		return cadena;
	}
	/*	Fin: lpolanco	-	24/05/2012	*/
	
	public String getColumnValue() {		
		List rows = (ArrayList)getListaCargaFamProdDetLog();		
		if(colNum >= rows.size()){
			colNum = 0;
			rowNum++;
			if(rowNum >= ((ArrayList)getListaCargaFamProdDetLog()).size()){
				rowNum = 0;				
			}
		}		
		List rowResp = (ArrayList)getListaCargaFamProdDetLog();	
		String resp = (String) (rowResp.get(colNum)==null?"":rowResp.get(colNum).toString());
		colNum++;
		
		if(rowCol==listaFamProdColumnLog.size()){
			rowCol = 0;
		}
		rowCol++;		
				
		return resp;
	}
	/**
	 * @return Returns the listaFamProdColumnLog.
	 */
	public ArrayList getListaFamProdColumnLog() {
		return listaFamProdColumnLog;
	}
	/**
	 * @param listaFamProdColumnLog The listaFamProdColumnLog to set.
	 */
	public void setListaFamProdColumnLog(ArrayList listaFamProdColumnLog) {
		this.listaFamProdColumnLog = listaFamProdColumnLog;
	}
	/**
	 * @return Returns the cargaFamProdDetLog.
	 */
	public List getCargaFamProdDetLog() {
		return cargaFamProdDetLog;
	}
	/**
	 * @param cargaFamProdDetLog The cargaFamProdDetLog to set.
	 */
	public void setCargaFamProdDetLog(List cargaFamProdDetLog) {
		this.cargaFamProdDetLog = cargaFamProdDetLog;
	}
	/**
	 * @return Returns the idFamilia.
	 */
	public BigDecimal getIdFamilia() {
		return idFamilia;
	}
	/**
	 * @param idFamilia The idFamilia to set.
	 */
	public void setIdFamilia(BigDecimal idFamilia) {
		this.idFamilia = idFamilia;
	}
	/**
	 * @return Returns the idProducto.
	 */
	public BigDecimal getIdProducto() {
		return idProducto;
	}
	/**
	 * @param idProducto The idProducto to set.
	 */
	public void setIdProducto(BigDecimal idProducto) {
		this.idProducto = idProducto;
	}
	/**
	 * @return Returns the strIdFamiliaSelected.
	 */
	public String getStrIdFamiliaSelected() {
		return strIdFamiliaSelected;
	}
	/**
	 * @param strIdFamiliaSelected The strIdFamiliaSelected to set.
	 */
	public void setStrIdFamiliaSelected(String strIdFamiliaSelected) {
		this.strIdFamiliaSelected = strIdFamiliaSelected;
	}
	/**
	 * @return Returns the strIdProductoSelected.
	 */
	public String getStrIdProductoSelected() {
		return strIdProductoSelected;
	}
	/**
	 * @param strIdProductoSelected The strIdProductoSelected to set.
	 */
	public void setStrIdProductoSelected(String strIdProductoSelected) {
		this.strIdProductoSelected = strIdProductoSelected;
	}
	/**
	 * @return Returns the estado.
	 */
	public String getEstado() {
		return estado;
	}
	/**
	 * @param estado The estado to set.
	 */
	public void setEstado(String estado) {
		this.estado = estado;
	}
	/**
	 * @return Returns the fechaFinal.
	 */
	public Date getFechaFinal() {
		return fechaFinal;
	}
	/**
	 * @param fechaFinal The fechaFinal to set.
	 */
	public void setFechaFinal(Date fechaFinal) {
		this.fechaFinal = fechaFinal;
	}
	/**
	 * @return Returns the fechaInicial.
	 */
	public Date getFechaInicial() {
		return fechaInicial;
	}
	/**
	 * @param fechaInicial The fechaInicial to set.
	 */
	public void setFechaInicial(Date fechaInicial) {
		this.fechaInicial = fechaInicial;
	}
	/**
	 * @return Returns the lblError_Text.
	 */
	public String getLblError_Text() {
		return lblError_Text;
	}
	/**
	 * @param lblError_Text The lblError_Text to set.
	 */
	public void setLblError_Text(String lblError_Text) {
		this.lblError_Text = lblError_Text;
	}
	/**
	 * @return Returns the listaCargaFamProdDetLog.
	 */
	public ArrayList getListaCargaFamProdDetLog() {
		return listaCargaFamProdDetLog;
	}
	/**
	 * @param listaCargaFamProdDetLog The listaCargaFamProdDetLog to set.
	 */
	public void setListaCargaFamProdDetLog(ArrayList listaCargaFamProdDetLog) {
		this.listaCargaFamProdDetLog = listaCargaFamProdDetLog;
	}
	/**
	 * @return Returns the listaCargaFamProdLog.
	 */
	public ArrayList getListaCargaFamProdLog() {
		return listaCargaFamProdLog;
	}
	/**
	 * @param listaCargaFamProdLog The listaCargaFamProdLog to set.
	 */
	public void setListaCargaFamProdLog(ArrayList listaCargaFamProdLog) {
		this.listaCargaFamProdLog = listaCargaFamProdLog;
	}
	/**
	 * @return Returns the egv_DatosFamProdLog_visible.
	 */
	public boolean isEgv_DatosFamProdLog_visible() {
		return egv_DatosFamProdLog_visible;
	}
	/**
	 * @param egv_DatosFamProdLog_visible The egv_DatosFamProdLog_visible to set.
	 */
	public void setEgv_DatosFamProdLog_visible(
			boolean egv_DatosFamProdLog_visible) {
		this.egv_DatosFamProdLog_visible = egv_DatosFamProdLog_visible;
	}
	/**
	 * @return Returns the m_intCargaFamProdLog_first.
	 */
	public int getM_intCargaFamProdLog_first() {
		return m_intCargaFamProdLog_first;
	}
	/**
	 * @param cargaFamProdLog_first The m_intCargaFamProdLog_first to set.
	 */
	public void setM_intCargaFamProdLog_first(int cargaFamProdLog_first) {
		m_intCargaFamProdLog_first = cargaFamProdLog_first;
	}
	/**
	 * @return Returns the mostrar.
	 */
	public boolean isMostrar() {
		return mostrar;
	}
	/**
	 * @param mostrar The mostrar to set.
	 */
	public void setMostrar(boolean mostrar) {
		this.mostrar = mostrar;
	}
	/**
	 * @return Returns the visorCargaFamProdService.
	 */
	public String getDdlTablaSeleccionada() {
		return strDdlTablaSeleccionada;
	}
	/**
	 * @param strDdlTablaSeleccionada The strDdlTablaSeleccionada to set.
	 */
	public void setDdlTablaSeleccionada(String strDdlTablaSeleccionada) {
		this.strDdlTablaSeleccionada = strDdlTablaSeleccionada;
	}
	/**
	 * @return Returns the listarFilasDinamicas.
	 */
	public ArrayList getListarFilasDinamicas() {
		return listarFilasDinamicas;
	}
	/**
	 * @param listarFilasDinamicas The listarFilasDinamicas to set.
	 */
	public void setListarFilasDinamicas(ArrayList listarFilasDinamicas) {
		this.listarFilasDinamicas = listarFilasDinamicas;
	}
	/**
	 * @return Returns the listarTablas.
	 */
	public ArrayList getListarTablas() {
		return listarTablas;
	}
	/**
	 * @param listarTablas The listarTablas to set.
	 */
	public void setListarTablas(ArrayList listarTablas) {
		this.listarTablas = listarTablas;
	}

	/**
	 * @return Returns the filaGrilla.
	 */
	public BigDecimal getFilaGrilla() {
		return filaGrilla;
	}
	/**
	 * @param filaGrilla The filaGrilla to set.
	 */
	public void setFilaGrilla(BigDecimal filaGrilla) {
		this.filaGrilla = filaGrilla;
	}
	/**
	 * @param rowStyle The rowStyle to set.
	 */
	public void setRowStyle(String rowStyle) {
		this.rowStyle = rowStyle;
	}
	
	public VisorCargaTablaBO getVisorCargaTablaService() {
		return visorCargaTablaService;
	}
	/**
	 * @param visorCargaFamProdService The visorCargaFamProdService to set.
	 */
	public void setVisorTablaProdService(
			VisorCargaTablaBO visorCargaTablaService) {
		this.visorCargaTablaService = visorCargaTablaService;
	}
}
